本篇是故事一的「重現」篇。
本篇要回答:如何把一句看似謹慎的「可以用 GigE 嗎」,重現成一個可以觀察、可以改寫的失效樣本?
Day 01 的提問清單裡,有一種句型反覆出現:可以用線掃嗎?可以用 GigE 嗎?連「需要防爆箱嗎」骨子裡也是同一句——請對方替我拍板。
這個句型當時給我的感覺是謹慎、尊重客戶——重大決定都讓對方拍板。但把它放到 Day 02 的角色責任表上重看,事情就不太對了:被問「可以嗎」的人,多半沒有足夠的技術脈絡回答這一題;而有技術脈絡的人(也就是我),把判斷責任連同問句一起送了出去。
當時相信的是:多問「可以嗎」等於多留紀錄、多分散風險,出了事至少可以說「這是當初你們同意的」。
現在區分清楚,這裡面混了兩種東西。合理的部分:重大取捨確實應該由承擔結果的人決定。不合理的部分:我送出去的不是「整理好的取捨」,而是「未經處理的技術問題」。對方同意的其實是一句他無法評估的話——這種同意在事故調查裡撐不起任何結論。
這一篇的最小重現不是跑程式,而是拿一句當時的原話做改寫實驗,觀察資訊量的差異。
改寫前(忠於當時的句型):
「可以用 GigE 嗎?」
這句話缺少的條件至少有:傳輸距離與佈線環境、需要的頻寬(解析度 × 幀率)、現場網路架構、多相機同步需求、對方能承擔的風險。缺這些條件,對方只能憑感覺回答,而任何答案都無法追溯。
套用改寫結構:
依目前已知的產線速度、工件移動方式與缺陷尺寸,
我建議先評估方案 A。
這項建議成立的前提是……
主要優點是……
主要風險是……
若實際條件超過……,
則改採方案 B。
目前仍缺少……資料,需在……前確認。
改寫後(示意):
依目前已知的工件尺寸與線速估算,單相機所需頻寬約在 GigE 上限的六成以內,我建議先以 GigE 方案評估。這項建議成立的前提是相機維持單機、解析度需求不再上修;主要優點是佈線距離拉得長、可沿用標準乙太網路架構;主要風險是前提被打破——解析度上修或增加相機,頻寬會先到頂。若估算後頻寬超過上限的八成,則改評估 10GigE 或 CoaXPress。目前仍缺少實際線速與最小缺陷尺寸,需在選型定案前確認。
(本段數字為去識別化的示意估算框架,非實際專案數據。重點在句型結構,不在數字本身;實際套用時,頻寬與線速必須以現場條件重算。)
對照兩個版本可以觀察到:改寫後的版本「可以被推翻」。對方可以指著前提說「線速不只這樣」,可以指著風險說「我們不能接受」。改寫前的版本連被推翻的表面積都沒有。
還有一件更諷刺的事:我當初問「可以嗎」是為了留紀錄,但真正留得下有用紀錄的是改寫後的版本——它記下了當時已知什麼、假設什麼、誰在什麼條件下同意了什麼。「這是你們同意的」在事故調查裡只能證明有人點過頭,證明不了那個頭點得有依據。
區分證據等級。已確認事實:「可以嗎」句型是當時的實際提問習慣。合理推論:這種句型把技術判斷責任移轉給了沒有技術脈絡的一方。示意內容:上述 GigE 改寫例的具體數字。
留下上面那個改寫結構,以及一個判斷句型健康度的檢查:
我送出去的這句話,對方有沒有足夠的資訊「推翻」它?
沒有推翻表面積的問句,不是謹慎,是把工程判斷退回給客戶。
本篇結論:
「我建議」不是替客戶做決定,而是讓技術判斷終於有可討論、可推翻、可追溯的形狀。
下一篇(Day 04)處理當時另一個混亂來源:把 Socket、Streaming、MQTT 當成三個平行選項擺在同一張選單上。